import 'dart:io';

import 'package:flutter/material.dart';
// import './add_clothes_page.dart';
import '../../models/wardrobe.dart';
import '../../models/cloth.dart';
import './add_wardrode_page.dart';
import 'package:image_picker/image_picker.dart';
import './ClothManagementPage.dart';

/// 应用主界面
class AppHomePage extends StatefulWidget {
  final arguments;
  AppHomePage({this.arguments});
  @override
  _AppHomePageState createState() => _AppHomePageState();
}

class _AppHomePageState extends State<AppHomePage> {
  // 用存储柜子
  List<Wardrobe> wardrobes = [];

  // 添加柜子的方法
  void _addWardrobe(String name, String position, File image) {
    Wardrobe wardrobe = Wardrobe(
      wardrobename: name,
      wardrobeposition: position,
    );
    wardrobe.wardrobeimage = image;
    // 添加柜子的逻辑
    setState(() {
      wardrobes.add(wardrobe);
    });
  }

  // // 弹窗选择添加柜子 衣服
  // void _showModalBottomSheet(context) {
  //   showModalBottomSheet(
  //     context: context,
  //     builder: (BuildContext context) {
  //       return SizedBox(
  //         height: 200, // 弹窗的高度，可以根据需要调整
  //         child: Column(
  //           children: <Widget>[
  //             // 在这里添加你的选择项，例如使用Radio, Checkbox, 或者列表项等
  //             ListTile(
  //               leading: const Icon(Icons.album_sharp),
  //               title: const Text('添加柜子'),
  //               onTap: () {
  //                 // 处理添加衣柜的逻辑
  //                 Navigator.pop(context);
  //                 Navigator.pop(context); // 关闭弹窗

  //                 Navigator.push(
  //                   context,
  //                   MaterialPageRoute(builder: (_) => add_wardrobe_page()),
  //                 ).then((result) {
  //                   if (result is Wardrobe)
  //                     _addWardrobe(
  //                       result.wardrobename,
  //                       result.wardrobeposition,
  //                       result.wardrobeimage
  //                     );
  //                   // print("name ${result.wardrode_name}");
  //                   // print("position ${result.wardrode_position}");
  //                 }); // 关闭弹窗
  //               },
  //             ),
  //             // ListTile(
  //             //   leading: const Icon(Icons.event_available),
  //             //   title: const Text('添加衣物'),
  //             //   onTap: () {
  //             //     // 处理新建事件的逻辑
  //             //     Navigator.pop(context); // 关闭弹窗
  //             //     Navigator.push(
  //             //       context,
  //             //       MaterialPageRoute(builder: (_) => add_clothes_page()),
  //             //     ).then((result) {
  //             //       // 页面返回后可以在这里做些事情，比如刷新书签列表
  //             //       if (result is Cloth)
  //             //         _addWardrobe(result.wardrode_name,
  //             //             result.wardrode_position, result.wardrode_image);
  //             //     });
  //             //   },
  //             // ),
  //             // 更多选项...
  //           ],
  //         ),
  //       );
  //     },
  //   );
  // }

  void gotoClothManagementPage(Wardrobe wardrobe) {
    Navigator.push(
      context,
      MaterialPageRoute(
          builder: (_) => ClothManagementPage(wardrobe: wardrobe)),
    );
  }

  @override
  Widget build(BuildContext context) {
    /// 界面框架
    return Scaffold(
      appBar: AppBar(
        title: const Text("首页"),
        automaticallyImplyLeading: false,
        centerTitle: true,
      ),
      body: Column(
        children: <Widget>[
          // 添加一个列表来展示存储柜子
          Expanded(
            child: ListView.builder(
              itemCount: wardrobes.length,
              itemBuilder: (context, index) {
                return Card(
                  child: InkWell(
                    onTap: () {
                      showDialog(
                        context: context,
                        builder: (BuildContext context) {
                          return AlertDialog(
                            title: Text('确认删除？'),
                            content: Text('你确定要删除衣柜吗？'),
                            actions: <Widget>[
                              TextButton(
                                child: Text('取消'),
                                onPressed: () => Navigator.of(context).pop(),
                              ),
                              TextButton(
                                child: Text('确定'),
                                onPressed: () {
                                  setState(() {
                                    wardrobes.removeAt(index);
                                  });
                                  Navigator.of(context).pop(); // 关闭对话框
                                },
                              ),
                              TextButton(
                                  onPressed: () {
                                    Navigator.of(context).pop();
                                    gotoClothManagementPage(wardrobes[index]);
                                  },
                                  child: Text('去管理衣物')),
                            ],
                          );
                        },
                      );
                    },
                    child: Padding(
                      padding: EdgeInsets.all(8.0),
                      child: Column(
                        crossAxisAlignment: CrossAxisAlignment.start,
                        children: [
                          wardrobes[index].wardrobeimage != null
                              ? Image.file(
                                  wardrobes[index].wardrobeimage!,
                                  height: 100, // 根据需要调整高度
                                  width: 100, // 根据需要调整宽度
                                )
                              : Image.asset(
                                  'assets/default_image.png',
                                  fit: BoxFit.cover,
                                  height: 100,
                                  width: 100,
                                ),
                          SizedBox(height: 8),
                          Text(wardrobes[index].wardrobename,
                              style: TextStyle(fontSize: 18)),
                          SizedBox(height: 4),
                          Text(wardrobes[index].wardrobeposition,
                              style:
                                  TextStyle(fontSize: 14, color: Colors.grey)),
                        ],
                      ),
                    ),
                  ),
                );
              },
            ),
          ),
        ],
      ),

      // 添加悬浮按钮
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          Navigator.push(
            context,
            MaterialPageRoute(builder: (_) => add_wardrobe_page()),
          ).then((result) {
            if (result is Wardrobe)
              _addWardrobe(
                result.wardrobename,
                result.wardrobeposition,
                result.wardrobeimage!,
              );
          });
        },
        child: const Icon(Icons.add), // 使用加号图标
      ),
    );
  }
}
